android模拟器中,不能将文件拷贝到的system分区的原因,以及自动化解决方法 您所在的位置:网站首页 android 文件拷贝 android模拟器中,不能将文件拷贝到的system分区的原因,以及自动化解决方法

android模拟器中,不能将文件拷贝到的system分区的原因,以及自动化解决方法

#android模拟器中,不能将文件拷贝到的system分区的原因,以及自动化解决方法| 来源: 网络整理| 查看: 265

 

 

android

模拟器中,不能将文件拷贝到的

/system

分区的原因,以及自动

化解决方法

 

 

某些情况下,要调试的

apk

需要一些共享库,而这些库要放

/system/lib

下才能在运行时连接到。

 

android

模拟器每次启动后,系统分区

/system

是以只读方式挂载的,不能用向

/system

分区拷贝文

件。

 

 

事情到这里,有两种方法解决,

一是重新生成

system.img

文件

,将自己的库也打包进去,但重新打

system.img

貌似需要

linux

环境,步骤也不少,而且每次修改共享库后都要重新打包,对于调试

应用程序来说,非常不划算。

 

 

另一种,方法是将

/system

分区修改为可以读写的

,这个可以在

adb shell

中通过下面的命令实现:

 

#mount -o remount  /dev/block/mtdblock0 /system 

 

命令中

/dev/block/mtdblock0

表示

/system

分区实际设备,可通过

mount 

查看。

 

即使把

/system

分区修改为可读写的,也不能向里面拷贝文件,拷贝时会报错:

 

failed to copy 'xxx' to '/system/xxx': Out of memory

 

这是因为

eclipse

启动模拟器时,系统分区的内容实际上是分配一块与

system.img

等大小的内存空

间,来作为系统分区的,所以会出现内存不足的提示。这个可以用

df

命令查看:

 

/dev: 63304K total, 0K used, 63304K available (block size 4096) 

 

/mnt/asec: 63304K total, 0K used, 63304K available (block size 4096) 

 

/system: 77568K total, 77568K used,

0K available

(block size 4096)

 

 

/data: 65536K total, 26152K used, 39384K available (block size 4096) 

 

/cache: 65536K total, 1156K used, 64380K available (block size 4096) 

 

/mnt/sdcard: 64504K total, 1K used, 64502K available (block size 512) 

 

/mnt/secure/asec: 64504K total, 1K used, 64502K available (block size 512)

 

 

关于

/system

分区内存不足也有两种解决方法,一是增大

/system

占用的内存

,可以通过命令行启动

模拟器,设置内存大小:

 

emulator -avd [YOUR_AVD_NAME] -partition-size 512 

这里设置内存大小为

512MB

,启动后,

remount /system

分区为读写状态,就可以拷贝文件到

/system

分区了,如果要添加到

/system

分区的文件较大,可以采用这种方式,启动模拟器。

 

另一种方法是,删除

/system

分区中一些不用的文件,腾出空间

,就可以向里面拷贝文件了,需要

拷贝的东西较小时,可以用这种方法。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有